package QL;

import java.util.List;
import java.util.ArrayList;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class ButlerPlayerInfo implements IQLResponse
{
    /// <summary>
    /// 玩家Id
    /// </summary>
    public long Id;

    /// <summary>
    /// 昵称
    /// </summary>
    public String Nickname;

    /// <summary>
    /// 0保密 1男 2女
    /// </summary>
    public long Gender;

    /// <summary>
    /// 玩家等级
    /// </summary>
    public long Level;

    /// <summary>
    /// 玩家Vip等级
    /// </summary>
    public long VipLevel;

    /// <summary>
    /// 金币
    /// </summary>
    public long Currency;

    /// <summary>
    /// 钻石
    /// </summary>
    public long Diamond;

    /// <summary>
    /// 积分
    /// </summary>
    public long Integral;

    /// <summary>
    /// 总消耗
    /// </summary>
    public long TotalCost;

    /// <summary>
    /// 总获得
    /// </summary>
    public long TotalGain;

    /// <summary>
    /// 锁定数量
    /// </summary>
    public long ItemLock;

    /// <summary>
    /// 冰冻数量
    /// </summary>
    public long ItemFreeze;

    /// <summary>
    /// 召唤数量
    /// </summary>
    public long ItemSummon;

    /// <summary>
    /// 狂暴数量
    /// </summary>
    public long ItemWild;

    /// <summary>
    /// 分身数量
    /// </summary>
    public long ItemShadow;

    /// <summary>
    /// 倍击数量
    /// </summary>
    public long ItemMultipleHit;

    /// <summary>
    /// 防水木料数量
    /// </summary>
    public long Item10;

    /// <summary>
    /// 精炼矿石数量
    /// </summary>
    public long Item11;

    /// <summary>
    /// 海妖外壳数量
    /// </summary>
    public long Item12;

    /// <summary>
    /// 潮汐精粹数量
    /// </summary>
    public long Item13;

    /// <summary>
    /// 深海魔晶数量
    /// </summary>
    public long Item14;

    /// <summary>
    /// 奖券数量
    /// </summary>
    public long ItemTicket;

    /// <summary>
    /// 青铜弹头数量
    /// </summary>
    public long ItemWarhead1;

    /// <summary>
    /// 白银弹头数量
    /// </summary>
    public long ItemWarhead2;

    /// <summary>
    /// 黄金弹头数量
    /// </summary>
    public long ItemWarhead3;

    /// <summary>
    /// 紫金弹头数量
    /// </summary>
    public long ItemWarhead4;

    /// <summary>
    /// 充值总金额，单位分
    /// </summary>
    public long TotalRecharge;

    /// <summary>
    /// 是否已被锁定，1是0否
    /// </summary>
    public long IsBlocked;

    /// <summary>
    /// 为该玩家设置的难度级别，比如：-2,-1,0,1,2
    /// 旧版经济系统，该字段待删除
    /// </summary>
    public long DifficultyLevel;

    /// <summary>
    /// 该难度级别下的目标金币数量
    /// 旧版经济系统，该字段待删除
    /// </summary>
    public long DifficultyDestValue;

    /// <summary>
    /// 所在的公会Id
    /// </summary>
    public long GuildId;

    /// <summary>
    /// 所在的公会名称
    /// </summary>
    public String GuildName;

    /// <summary>
    /// 注册时间
    /// </summary>
    public String RegisterTime;

    /// <summary>
    /// 注册Ip
    /// </summary>
    public String RegisterIp;

    /// <summary>
    /// 最后登录时间
    /// </summary>
    public String LastLoginTime;

    /// <summary>
    /// 最后登录Ip
    /// </summary>
    public String LastLoginIp;

    /// <summary>
    /// 是否商人
    /// </summary>
    public boolean IsBusinessman;

    /// <summary>
    /// 金库金币
    /// </summary>
    public long BankCurrency;

    /// <summary>
    /// 金币总输
    /// </summary>
    public long TotalCurrencyLost;

    /// <summary>
    /// 金币总赢
    /// </summary>
    public long TotalCurrencyWin;

    /// <summary>
    /// 玩家Vip经验
    /// </summary>
    public long VipExp;

    /// <summary>
    /// 绑定的手机号
    /// </summary>
    public String Phone;

    /// <summary>
    /// 金库密码
    /// </summary>
    public String BankPassword;

    /// <summary>
    /// 强控个人难度等级，012下分 -1没有强控 456上分
    /// </summary>
    public long StrongDifficultyLevel;

    /// <summary>
    /// 强控的剩余输赢分数
    /// </summary>
    public long StrongDifficultyWinLost;

    /// <summary>
    /// 个人奖池当前值
    /// </summary>
    public long PersonalCurrentPrizePool;

    /// <summary>
    /// 个人奖池最大值
    /// </summary>
    public long PersonalMaxPrizePool;

    /// <summary>
    /// 回血点数
    /// </summary>
    public long PersonalRecoverPoint;

    /// <summary>
    /// 是否处于回血状态
    /// </summary>
    public boolean PersonalInRecoverState;

    /// <summary>
    /// 自控个人难度等级 -1代表无效 1代表困难等级 5代表回血等级
    /// </summary>
    public long PersonalDifficultyLevel;

    /// <summary>
    /// 个人奖池分红临时值
    /// </summary>
    public long PersonalShareBonus;

    /// <summary>
    /// 玩家金库总发送金币
    /// </summary>
    public long TotalBankSend;

    /// <summary>
    /// 玩家金库总接收金币
    /// </summary>
    public long TotalBankRecv;

    /// <summary>
    /// 代理级别
    /// </summary>
    public long AgentLevel;

    /// <summary>
    /// 代理当前贡献值
    /// </summary>
    public long AgentAssets;

    /// <summary>
    /// 代理总贡献值
    /// </summary>
    public long AgentTotalAssets;

    @Override
    public void DeserializeFromJson(JSONObject jsonObj)
    {
        JSONObject t = jsonObj;
        if (t.has("id"))
            Id = t.getLong("id");
        if (t.has("nickname"))
            Nickname = t.getString("nickname");
        if (t.has("gender"))
            Gender = t.getLong("gender");
        if (t.has("level"))
            Level = t.getLong("level");
        if (t.has("vip_level"))
            VipLevel = t.getLong("vip_level");
        if (t.has("currency"))
            Currency = t.getLong("currency");
        if (t.has("diamond"))
            Diamond = t.getLong("diamond");
        if (t.has("integral"))
            Integral = t.getLong("integral");
        if (t.has("total_cost"))
            TotalCost = t.getLong("total_cost");
        if (t.has("total_gain"))
            TotalGain = t.getLong("total_gain");
        if (t.has("item_lock"))
            ItemLock = t.getLong("item_lock");
        if (t.has("item_freeze"))
            ItemFreeze = t.getLong("item_freeze");
        if (t.has("item_summon"))
            ItemSummon = t.getLong("item_summon");
        if (t.has("item_wild"))
            ItemWild = t.getLong("item_wild");
        if (t.has("item_shadow"))
            ItemShadow = t.getLong("item_shadow");
        if (t.has("item_multiple_hit"))
            ItemMultipleHit = t.getLong("item_multiple_hit");
        if (t.has("item10"))
            Item10 = t.getLong("item10");
        if (t.has("item11"))
            Item11 = t.getLong("item11");
        if (t.has("item12"))
            Item12 = t.getLong("item12");
        if (t.has("item13"))
            Item13 = t.getLong("item13");
        if (t.has("item14"))
            Item14 = t.getLong("item14");
        if (t.has("item_ticket"))
            ItemTicket = t.getLong("item_ticket");
        if (t.has("item_warhead1"))
            ItemWarhead1 = t.getLong("item_warhead1");
        if (t.has("item_warhead2"))
            ItemWarhead2 = t.getLong("item_warhead2");
        if (t.has("item_warhead3"))
            ItemWarhead3 = t.getLong("item_warhead3");
        if (t.has("item_warhead4"))
            ItemWarhead4 = t.getLong("item_warhead4");
        if (t.has("total_recharge"))
            TotalRecharge = t.getLong("total_recharge");
        if (t.has("is_blocked"))
            IsBlocked = t.getLong("is_blocked");
        if (t.has("difficulty_level"))
            DifficultyLevel = t.getLong("difficulty_level");
        if (t.has("difficulty_dest_value"))
            DifficultyDestValue = t.getLong("difficulty_dest_value");
        if (t.has("guild_id"))
            GuildId = t.getLong("guild_id");
        if (t.has("guild_name"))
            GuildName = t.getString("guild_name");
        if (t.has("register_time"))
            RegisterTime = t.getString("register_time");
        if (t.has("register_ip"))
            RegisterIp = t.getString("register_ip");
        if (t.has("last_login_time"))
            LastLoginTime = t.getString("last_login_time");
        if (t.has("last_login_ip"))
            LastLoginIp = t.getString("last_login_ip");
        if (t.has("is_businessman"))
            IsBusinessman = t.getBoolean("is_businessman");
        if (t.has("bank_currency"))
            BankCurrency = t.getLong("bank_currency");
        if (t.has("total_currency_lost"))
            TotalCurrencyLost = t.getLong("total_currency_lost");
        if (t.has("total_currency_win"))
            TotalCurrencyWin = t.getLong("total_currency_win");
        if (t.has("vip_exp"))
            VipExp = t.getLong("vip_exp");
        if (t.has("phone"))
            Phone = t.getString("phone");
        if (t.has("bank_password"))
            BankPassword = t.getString("bank_password");
        if (t.has("strong_difficulty_level"))
            StrongDifficultyLevel = t.getLong("strong_difficulty_level");
        if (t.has("strong_difficulty_win_lost"))
            StrongDifficultyWinLost = t.getLong("strong_difficulty_win_lost");
        if (t.has("personal_current_prize_pool"))
            PersonalCurrentPrizePool = t.getLong("personal_current_prize_pool");
        if (t.has("personal_max_prize_pool"))
            PersonalMaxPrizePool = t.getLong("personal_max_prize_pool");
        if (t.has("personal_recover_point"))
            PersonalRecoverPoint = t.getLong("personal_recover_point");
        if (t.has("personal_in_recover_state"))
            PersonalInRecoverState = t.getBoolean("personal_in_recover_state");
        if (t.has("personal_difficulty_level"))
            PersonalDifficultyLevel = t.getLong("personal_difficulty_level");
        if (t.has("personal_share_bonus"))
            PersonalShareBonus = t.getLong("personal_share_bonus");
        if (t.has("total_bank_send"))
            TotalBankSend = t.getLong("total_bank_send");
        if (t.has("total_bank_recv"))
            TotalBankRecv = t.getLong("total_bank_recv");
        if (t.has("agent_level"))
            AgentLevel = t.getLong("agent_level");
        if (t.has("agent_assets"))
            AgentAssets = t.getLong("agent_assets");
        if (t.has("agent_total_assets"))
            AgentTotalAssets = t.getLong("agent_total_assets");
    }
}
